
  BETA TEST VERSION 2.00d (c) Ian Giblin, do not distribute.
 
  Firstly, sorry this has been so long coming. This is due to my thesis and
  financial markets work taking priority. I apologise for your having to
  use the (somewhat buggy) previous version for so long.

  Secondly, I've had LOADS of problems with the *WhichDisc code system, not
  in terms of programming but because I've got two drives and you can't
  *Mount an audio disc, which you need to do if there's more than one drive.
  I've set the 'WhichDisc' option on in this issue but might leave it off
  in the release version.

  This help file is complete for version 2.00d, but I haven't implimented
  a few things (see below) or the 'looped play' facility which I promised
  in the advert in (FreeWare) v1.00.

## Improvements: ############################################################

   Auto-play, auto-memory, etc., all working (so you needn't open the panel).
   User-selectable time display type.
   Data tracks now identified and complained about if necessary.
   Player won'ttry to auto-play a CD if the first track is data.
   Matches memory position (if possible) when you load while already playing.
   New display tells you what 'mode' the player is in, e.g. 'MEM'.
   Big catalogue system is fully working, as far as I can tell.
   Can be set to look at any available CD drive (I had three for a while!).
  'Smart' messages are more helpful.
  'Fuzzy' time codes allow tolerance if 'WhichDisc' can't be used.
 
## Limitations: #############################################################

 Points 1..6 will soon be fixed:

 1. FFWD and REWIND buttons not 'connected'.

 2. I have found that my Cumana 400 drive still says it's in 'paused' mode
    even if you eject the disc after pausing it. So when you insert a new
    disc it says 'paused' and you have to unpause it; I have trapped this
    in the case where the 'auto-ident' (etc) options are on but it's still
    a bit ambiguous if the active monitoring is disabled.

 3. Making new catalogues is still a one-way, one-off process. If you want
    to add old files to a new catalogue, you can't do it, nor can you merge
    two catalogues, except by hand (which is pretty easy if they have no
    common entries).

 4. CDs with more than 40 tracks still cause problems.

 5. Running Acorn's !PhotoView causes CD audio play to stop on my system,
    even if your Photo CD drive is a different one to your audio drive.
    Play can be re-started by opening the panel and clicking PLAY.

 6. The display is more flickery than it needs to be, because I'm not
    checking properly which icons need re-drawing.

 7. Not tested with RISC OS 3.5 ...!

## End of comments to beta-testers ##########################################

>> About this help file:
~~~~~~~~~~~~~~~~~~~~~~~~

As you can see from the lines above, each section starts with two 'greater
than' symbols so you can use a list-of-found if your editor supports such
things (e.g. Zap, press F7).

Here are the section titles and line numbers anyway:

  46:  About this help file:
  71:  Help on !SmartCD v2.00 (aka SmartCD+)
  81:  If you've seen it all before (version-wise), at least read this bit!
  99:  How to use 'Smart CD' v2.00
 107:  Getting Started
 129:  Panel Buttons
 147:  Panel Menu
 169:  Options Sub-Menu
 218:  Tools Sub-Menu
 235:  The 'TAPE' button and 'Load tape inlay' menu option
 268:  The 'Memory Programming' window
 310:  How does it remember CDs?
 318:  Credits
 327:  Contact/Feedback
_____________________________________________________________________________

>> Help on !SmartCD v2.00 (aka SmartCD+)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is the commercial version of SmartCD. This application has been renamed
to 'SmartCD+' in order to distinguish it from the other (FreeWare) version.
As a result of this renaming, you can have both 'SmartCD' and 'SmartCD+' in
the same directory. This is in fact a requirement for the 'SmartCAT' program,
which converts old CD index files to the new format used by this application.
_____________________________________________________________________________

>> If you've seen it all before (version-wise), at least read this bit!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you used a previous (FreeWare) version of this, (currently versions 1.00
and 1.13) then you should use the !SmartCAT application to convert your old
catalogue files into the new format used by this version. If you don't do this
you will lose your old catalogues.

To carry out this translation, all you need do is make sure the three
applications (SmartCD, SmartCAT and SmartCD+) are all in the same directory,
then delete the file '!SmartCD+.Catalogue' (if present) and run the
application 'SmartCAT'. See the 'SmartCAT' help file for more info.

Note, please, that the new catalogue will have no 'WhichDisc' information,
and you'll get a lot of so-called 'Smart' messages (if active) telling you
that only the time code has been used in identification.
_____________________________________________________________________________

>> Getting Started
~~~~~~~~~~~~~~~~~~

Click once on the 'SmartCD' icon to get a panel with a load of buttons on it.
Put in a CD and click the '?' or '>' buttons; this will usually give you
a message saying "Disc not known... please save any details".

The window will be re-sized to allow space for all the tracks; you can open
it to its full extent using the 'toggle size' icon as usual.

You now type in the name of the band/orchestra/whatever and the track
titles, (all the boxes are writable - just click where you want to write)
and when you've finished, you get the menu in this window and select "Save
Listing". Next time you click '?' the CD will be identified and you can
click on the track numbers to play different tracks, etc.

If you just want to save the artist and title of a CD, that will not be a
problem. You could just leave the SmartCD window small, without displaying the
track listing.

The program will recognise a CD if it's playing when you run the application,
or if you play it without previously "identifying" it. It will even know if
you paused the CD before quitting your other CD player, and will let you
re-start from where you were. Cool, huh?
_____________________________________________________________________________

>> How does it remember CDs?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Two methods - firstly the 'WhichDisc' code, a unique code for each CD, and
secondly the 'Timecode', which is simply a number based upon the total length
of the CD, as reported by your drive.
_____________________________________________________________________________

>> Panel Buttons
~~~~~~~~~~~~~~~~

   PLAY      - Either: Tries to ID your CD and play from track #1 to the end.
                   or: If paused, re-starts playing.
   PAUSE     - Pauses and restarts (usually from where you paused it!).
   STOP      - Stop playing but don't dismout the CD.
   PREVIOUS  - Play previous track if possible.
   REWIND    - Rewinds the CD until you press a suitable button.
   FFWD      - Fast-forwards the CD (like REWIND, but forwards).
   NEXT      - Play 'next' track if possible.
   HUH?      - Examine CD, display details if it is recognised.
   TAPE      - Makes a Draw 'Text Area' listing the tracks (see below) either
               in normal order or as in the memory, if playing from memory.
   MEMORY    - Opens the memory programming window (see below).
   EJECT     - you know.
_____________________________________________________________________________

>> Panel Menu
~~~~~~~~~~~~~

 SAVE LISTING  - Saves the listing, or whatever you've entered. If you've
                 typed any numbers into the 'memory' window then they will
                 also be saved with the info.
 _____________
 
 OPTIONS       - Leads to the options sub-menu (see below).
 
 TIME DISPLAY  - Allows you to set the time shown in the panel window. The
                 difference between "CD position" and "Total played" (etc)
                 is that the latter takes account of the memory sequence. If
                 you set the memory to play all tracks serially then these
                 figures will be the same.

 TOOLS         - Leads to the tools sub-menu (see below).
 ____________
 
 SAVE SETTINGS - Saves the current settings (!), including drive number.
_____________________________________________________________________________
   
>> Options Sub-Menu
~~~~~~~~~~~~~~~~~~~    (default options are shown in square brackets)
   
 AUTO IDENT.   - [ON] Constantly polls the player when not playing in order
                 to reflect the correct status in the panel. I can't think of
                 any particular uses for this, but there must be some.

 AUTO PLAY     - [OFF] Automatically plays a disc when you put it in,
                 regardless of whether it can be identified. If it *can* be
                 identified then it will be played in the saved memory
                 order (if there is one) if the option 'AUTO MEMORY' is on.
                 CDs with data in track 1 will not be auto-played.

 AUTO MEMORY   - [ON]  This determines whether the saved memory sequence is
                 used to play discs under 'AUTO PLAY'. If this is on but you
                 haven't saved a memory list then it will just play as normal.
                 
 AUTO EJECT    - [OFF] Ejects the disc when it reaches the end (whether the
                 panel window is open or not). Note that the process of
                 ejecting requires single-tasking for a second or two,
                 so the hourglass appears. I suggest you leave this off if
                 you're using a RiscPC with a sliding door!
                 
 USE TIMECODE  - [ON] Tries to ID the disc by looking at the total playing
                 time, no. of tracks, etc. This is used *after* the
                 'WhichDisc' ID attempt because it's less reliable.
                 
 FUZZY T'CODES - [ON] This allows some tolerance in the time codes, so that
                 the differences between systems do not necessarily cause the
                 identification to fail. On my systems (a Cumana 400 SCSI,
                 an Apple CD300 and a Cumana 300 SLCD) the time codes differ
                 by up to 2 frames (one frame is 1/75 sec).
                 
 USE WHICHDISC - [ON]  This uses the unique (?) disc ID code available from the
                 *WhichDisc command. This is better than the time code system
                 but doesn't work when the disc is playing, or on my system
                 (at all) where I've got two SCSI drives. Very strange...
                 
 VERBOSE       - [ON]  A message will appear when a disc cannot be identified.
                 This should really only be switched OFF if you're not going
                 to open the panel (i.e. if you always use auto-play).

 SMART         - [ON] Extra messages will appear, if the program feels unhappy
                 about something. These brief messages are sometimes just
                 suggestions. Each one also offers a detailed description, and
                 I suggest you read these once because I try to explain what's
                 going on, in more words than fit an a Wimp_Error box!
_____________________________________________________________________________

>> Tools Sub-Menu
~~~~~~~~~~~~~~~~~
 
 ADD TRACK LENGTHS   - Adds inlay-card-style track times to the list,
                       e.g. (3:42) for a 3 min 42 sec track. I have
                       intentionally set this up so you can add the times
                       to the listing, if you want, for any CDs you catalogued
                       using version 1.00 of this program. You can then save
                       the listing again and the times will always be there,
                       if that's the way ya like it. Note that these times
                       will NOT appear in the 'current track' window unless
                       you've saved the listing.
 
 LOAD TAPE INLAY     - Loads an example tape inlay for use with the 'TAPE'
                       button (see below).
_____________________________________________________________________________

>> The 'TAPE' button and 'Load tape inlay' menu option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

While not, of course, trying to encourage home taping or music piracy, I find
that sometimes it's useful to tape CDs, to listen to on my portable stereo,
or something. Then I want a tape inlay which lists the tracks. This is where
the 'TAPE' button comes in. It will produce a listing in the !Draw 'TextArea'
format for you to drop into !Draw and print as part of a neat-looking tape
inlay. The tracks are in the normal order *unless* you're playing from memory,
in which case they are in the memory entry order.

An example Draw file is enclosed within this application, and automatically
copied and loaded up using the menu option 'make tape inlay'. If your file
system allows it (i.e. is not Read-Only), a copy of the file, "TapeInlay",
will appear in the same directory as !SmartCD, and you can change this to
your own taste. I've put a load of helpful hints into the 'release' version
Draw file, but I suggest you edit the file "Inlay" inside the !SmartCD shell
(open it with Shift-DoubleClick) to not have these *ON YOUR PRIVATE VERSION
ONLY*. The 'hints' are all grouped together, so you can delete them all
easily, and you could leave just the bare minimum tape inlay 'frame' to drop
new track listings into each time you make a new tape. The file will also
take up less space.

As for the 'TextArea' format, it's a *bit* complicated but (I think) very much
under-used on our lovely Risc OS systems. It's all explained in the manuals;
and you might be able to guess what's going on by just looking at a file. Drop
one onto a text editor to have a look. You can easily enough change the font
names and sizes, and the line spacings (the \L commands), but to do any more
is difficult. One thing you should note is that the text area will probably
*not* all be shown whe you first drop it into !Draw - you need to re-size the
area box (after selecting the text area) to make all the text visible.
_____________________________________________________________________________

>> The 'Memory Programming' window
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you've identified a disc, you can program the machine to play tracks in
a non-serial order using this facility. Most of it is pretty obvious, but
each option is outlined below. Note that data tracks will not be allowed in
a memory sequence (they'll be removed automatically).

  'ALL'      - Inserts all (audio) track numbers into the writable line;
  
  'CLEAR'    - Clears away whatever's listed;
  
  'PROGRAM'  - Invokes a special mode in which you can click on the track
               number 'buttons' (in the main panel window) to choose the
               tracks you want. This lets you choose them by name; I can't
               usually remember the track numbers. To play your selection,
               click on either of the 'PLAY' buttons. To stop programming
               without playing the tracks, close the memeory window or click
               again on 'PROGRAM';
               
  'SAVE'     - Saves the memory sequence as your 'preferred list'. Note that
               the memory info forms part of the listing; your catalogue will
               be updated with current track names, etc., as well;
               
  'PLAY'     - Checks (for validity) and plays the list of tracks.
   
The text line is writable, and you can just type in the tracks if you want to,
although it's usually easier to use the 'PROGRAM' facility or menu functions.

There is also a menu attached to this window, with more 'memory' features:

   RANDOM     - Builds a random list of all tracks, each one appearing once;

   REVERSED   - Lists all tracks, in reverse, eg "10 9 8 7 6 5 4 3 2 1";

   REPEAT ALL - Simply takes the current list and repeats the whole sequence;

   FILL UP    - Completes the list, adding any tracks you haven't explicitly
                included yourself (this is useful if you program a few but
                still want to hear the others);
   _________

   PREVIOUS   - If you've played from memory once, you can use this to recall
                the previous sequence.
_____________________________________________________________________________

>> Credits
~~~~~~~~~~

Thanks to...

   ..very tolerant beta-testers: Peter Brunning, Mark Smith, Dom Symes.
   ..on-site RISC OS expert: Jon Young.
   ..musicians on my CDs: P.J.Harvey, Shonen Knife, Henry Rollins.
   ..and of course Acorn, the manufacturers of our, like, cool computers.
_____________________________________________________________________________

>> Contact/Feedback
~~~~~~~~~~~~~~~~~~~

If you have any problems with this program (and want them fixed), please
send me the *PlayList of the CD you were using. Please issue the following
commands in a TaskWindow or at the F12 command line:

     *CDFS
     *PlayList { > <SmartCD$Dir>.^.Listing }
     *SetType <SmartCD$Dir>.^.Listing Text
     *ADFS
   
 ...which will put a text file called "Listing" in the same directory as your
copy of !SmartCD. Then please e-mail this to me, with a brief description of
the error. Thanks.

Ian Giblin
 ___________________________________________________________________________
+                                                                           +
|    SmartCD+ is  ALT-itude 1994       This is NOT FreeWare OR P.D.        |
+___________________________________________________________________________+
|                                                                           |
|    If you think this program is cool, check out our P.D. work:            |
|                                                                           |
|       !U2......... a multi-part uu-coder and decoder                      |
|       !Saviour.... desktop auto-save from almost any application          |
|       !TaskKeys... intelligent desktop function key strips                |
|       !AppMaker... easy construction of application shells                |
|       !2048....... count file *and* directory sizes                       |
|                                                                           |
|    ALT-itude is:   Ian Giblin,      e-mail:  I.Giblin@sussex.ac.uk        |
|                    Paddy Spencer,   e-mail:  pss@liverpool.ac.uk          |
+___________________________________________________________________________+

[end]
